import { IParam } from '../../common';
import { IEvent } from '../../modules';
import { IReportPanelAbility } from '../ability';
import { ICtrlActionResult } from '../data-action';
import { IReportPanelStore } from '../store';
import { IMDCtrlController } from './i-md-ctrl-controller';

/**
 * 报表面板部件控制器接口
 *
 * @export
 * @interface IReportPanelController
 * @extends {ICtrlController}
 */
 export interface IReportPanelController<S extends IReportPanelStore, A extends IReportPanelAbility>
 extends IMDCtrlController<S, A> {
	/**
	 * 面板数据加载
	 *
	 * @param {IParam} [opts]
	 * @return {*}  {Promise<void>}
	 * @memberof IReportPanelController
	 */
	load(opts?: IParam): Promise<ICtrlActionResult>;

}
